This section is intended to introduce the reader to various aspects of the art, which may be related to various aspects of the present principles that are described and/or claimed below. This discussion is believed to be helpful in providing the reader with background information to facilitate a better understanding of the various aspects of the present principles. Accordingly, it should be understood that these statements are to be read in this light, and not as admissions of prior art.
Traitor tracing consists in serving clients with content watermarked with some unique identifier. If a pirate copy is later found on an unauthorized distribution network, it is then possible to identify the misbehaving customer.
Among known methods for watermarking contents, an approach comprises modifying directly the bit stream in the compressed format without any kind of decompression. A key challenge is then to guarantee that the introduced changes do not significantly impair video quality at the decoding stage. The introduction of advanced entropy coding paradigms, such as context adaptation and arithmetic coding for instance, have made such bit stream modifications more challenging. A single modification of the bit stream could result in catastrophic degradation if no proper care, especially with respect to spatial and temporal propagation, is taken. When a frame, used for prediction, is watermarked, the introduced changes can be temporally propagated through the decoding process, and thereby jeopardize the imperceptibility of the watermark due to uncontrolled propagation of the introduced watermarks.
Temporal propagation, also referred to as temporal drift, originates from temporal prediction, a mechanism routinely used in video codecs. It can affect a large number of pixels of a large number of frames: (i) in a given frame, several pixels can use the same reference pixel in their predictions, and (ii) pixels from different frames can also use the same reference pixel. Moreover, sub-pixel interpolations involved in the temporal predictions further enlarge the effect of the modification.
The analysis of the bit stream in order to identify the set of (position, value) where watermarks can be inserted at the embedding stage is also known as watermark preprocessing.
A first solution of watermark preprocessing is available with bit stream video watermarking systems that watermark encoded non-reference frames (as non-reference B-frames in most codecs), thus avoiding any temporal propagation of the introduced changes by construction. However, reference frames are also of great interest. Indeed, being able to watermark reference frames would increase the embedding rate and thus the watermark robustness. Furthermore, several distribution networks deal with streams that only use reference frames to have an alignment between decoding and rendering frame orders that imply more flexible streaming capabilities. Therefore, watermarking these reference frames is of great interest for bit stream watermarking systems but of course raises challenges regarding temporal propagation management.
For reference frames, such as frames used to predict other ones (I frame, reference B frames or P frames) a second solution, as disclosed in US20130188712, consists in computing compression influence values that indicate, for each macroblock, how much it influences the pixel values of other macroblocks through intra-frame or inter-frame prediction. However, building these compression influence values is quite challenging in practice and highly computationally intensive. It requires indeed to track the influence of a block over several frames in time. Macroblocks with small influence values are then selected for watermarking. This being said, US20130188712 does not disclose any mechanism to prevent the temporal propagation of different changes from overlapping, possibly resulting in uncontrollable visual artefacts.
A variant of this solution is disclosed in FR2949283A1. An image including a macroblock not serving as reference for decoding the following and preceding images of the video stream (i.e. during intra-frame or inter-frame prediction) is identified on-the-fly among the video images in the video stream. This non-reference macroblock is then replaced by an alternate macroblock encoding the desired identification information, i.e. the watermark. However, FR2949283A1 fails to explicitly disclose how the macroblocks not serving as reference are identified and thus does not solve the challenge of computing the compression influence values.
A computation efficient method for determining candidate watermarks that manages the temporal and spatial propagation of the watermarks due to prediction is therefore needed. For instance, one could consider watermarks (position, value) whose spatial propagation do not contain any macroblock used for prediction by another frame. This is a selection somewhat stricter than the ideal one, aka. selecting a set of candidate watermarks whose spatio-temporal propagation maps do not intersect, but it can be computed rather efficiently.